Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.03.2014, 10:47
Интересующийся
Отправить личное сообщение для Alex351960 Посмотреть профиль Найти все сообщения от Alex351960
 
Регистрация: 29.07.2013
Сообщений: 29

Не присылается ответ
Добрый день всем! хочу сделать чтобы при клике на элемент страницы, отправлялся ajax запрос, удаляющий массив из сессии.
Сделал вот так:
$(".delkorz").click(function deltovajax(){ // Как только кликнем на элемент с классом delkorz идет вызов функции
       var tov = $(this).attr('title'); // Получаем значение title у нажатого нами элемента
       $.ajax({
          url: "js/deletetovarl.php",
          type: "POST",
          data: {key:tov},
          success: function(txt){
              alert(txt);  // При успешном выполнении выводим алерт
          }
       });    
    });

Сам файл deletetovarl.php
<?session_start();
if (isset($_POST["key"])){
$key = $_POST["key"]; //В переменную key заносим то чт о мы получили

  if(isset($_SESSION['tovar'][$key])){
    
    unset($_SESSION['tovar'][$key]); //Удалаяем массив
    $txt = "Получилось"; 
  }
}

?>

Но почему-то не хочет работать. Скажите, пожалуйста, может я где-то ошибку допустил?
Ответить с цитированием
  #2 (permalink)  
Старый 03.03.2014, 14:31
Аватар для deivan
Профессор
Отправить личное сообщение для deivan Посмотреть профиль Найти все сообщения от deivan
 
Регистрация: 02.08.2012
Сообщений: 293

$(".delkorz").click(function deltovajax(){

не нужно именовать функцию, пусть анонимной будет
и второе - я бы не вешал клики на селектор класса, по идентификатору - более правильно.
Ответить с цитированием
  #3 (permalink)  
Старый 03.03.2014, 15:18
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,277

Сообщение от deivan
я бы не вешал клики на селектор класса, по идентификатору - более правильно
Это сильное заявление.
Благо это только твое личное мнение...
Ответить с цитированием
  #4 (permalink)  
Старый 03.03.2014, 15:18
Интересующийся
Отправить личное сообщение для Alex351960 Посмотреть профиль Найти все сообщения от Alex351960
 
Регистрация: 29.07.2013
Сообщений: 29

Сообщение от deivan Посмотреть сообщение
$(".delkorz").click(function deltovajax(){

не нужно именовать функцию, пусть анонимной будет
и второе - я бы не вешал клики на селектор класса, по идентификатору - более правильно.
Изменил, но все равно не работает(((
В алерте выводит не сообшение, которое нужно, а html - код страницы
Ответить с цитированием
  #5 (permalink)  
Старый 03.03.2014, 16:28
Аватар для deivan
Профессор
Отправить личное сообщение для deivan Посмотреть профиль Найти все сообщения от deivan
 
Регистрация: 02.08.2012
Сообщений: 293

надо смотреть не алертом, а через консоль браузера - вкладка Network
нужно добавить в $.ajax:
dataType: "text"

а в deletetovarl.php:
echo $txt;
Ответить с цитированием
  #6 (permalink)  
Старый 03.03.2014, 16:39
Интересующийся
Отправить личное сообщение для Alex351960 Посмотреть профиль Найти все сообщения от Alex351960
 
Регистрация: 29.07.2013
Сообщений: 29

Сообщение от deivan Посмотреть сообщение
надо смотреть не алертом, а через консоль браузера - вкладка Network
нужно добавить в $.ajax:
dataType: "text"

а в deletetovarl.php:
echo $txt;
Забыл упомянуть, что для меня главное не сообщение вывести, а удалить именно сессию, что скрипт делать и не хочет
Ответить с цитированием
  #7 (permalink)  
Старый 03.03.2014, 18:54
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от Alex351960
а html - код страницы
Какой еще код? Мож там ошибка?
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #8 (permalink)  
Старый 03.03.2014, 19:16
Интересующийся
Отправить личное сообщение для arkhipovandrei Посмотреть профиль Найти все сообщения от arkhipovandrei
 
Регистрация: 03.03.2014
Сообщений: 10

$(".delkorz") создается ajax-ом или статичен ?
но на всякий случай советую использовать
$("body").on('click','.delkorz',function() {
// любое действие
})
и еще совет
$(".delkorz").click(function deltovajax(){ // Как только кликнем на элемент с классом delkorz идет вызов функции
       var tov = $(this).attr('title'); // Получаем значение title у нажатого нами элемента
       $.ajax({
          url: "js/deletetovarl.php",
          type: "POST",
          data: {key:tov},
          success: function(txt){
              alert(txt);  // При успешном выполнении выводим алерт
          }
       });   
    });


положите в
$(document).ready( function(){
$(".delkorz").click(function deltovajax(){ // Как только кликнем на элемент с классом delkorz идет вызов функции
       var tov = $(this).attr('title'); // Получаем значение title у нажатого нами элемента
       $.ajax({
          url: "js/deletetovarl.php",
          type: "POST",
          data: {key:tov},
          success: function(txt){
              alert(txt);  // При успешном выполнении выводим алерт
          }
       });   
    });
});

если не работает нажмте f12 и гляньте в консоль какая там ошибка
Ответить с цитированием
  #9 (permalink)  
Старый 03.03.2014, 19:52
Интересующийся
Отправить личное сообщение для Alex351960 Посмотреть профиль Найти все сообщения от Alex351960
 
Регистрация: 29.07.2013
Сообщений: 29

Сообщение от arkhipovandrei Посмотреть сообщение
$(".delkorz") создается ajax-ом или статичен ?
но на всякий случай советую использовать
$("body").on('click','.delkorz',function() {
// любое действие
})
и еще совет
$(".delkorz").click(function deltovajax(){ // Как только кликнем на элемент с классом delkorz идет вызов функции
       var tov = $(this).attr('title'); // Получаем значение title у нажатого нами элемента
       $.ajax({
          url: "js/deletetovarl.php",
          type: "POST",
          data: {key:tov},
          success: function(txt){
              alert(txt);  // При успешном выполнении выводим алерт
          }
       });   
    });


положите в
$(document).ready( function(){
$(".delkorz").click(function deltovajax(){ // Как только кликнем на элемент с классом delkorz идет вызов функции
       var tov = $(this).attr('title'); // Получаем значение title у нажатого нами элемента
       $.ajax({
          url: "js/deletetovarl.php",
          type: "POST",
          data: {key:tov},
          success: function(txt){
              alert(txt);  // При успешном выполнении выводим алерт
          }
       });   
    });
});

если не работает нажмте f12 и гляньте в консоль какая там ошибка
Статичен. Сделал как вы сказали, все равно выводит html код
Ответить с цитированием
  #10 (permalink)  
Старый 03.03.2014, 20:02
Интересующийся
Отправить личное сообщение для arkhipovandrei Посмотреть профиль Найти все сообщения от arkhipovandrei
 
Регистрация: 03.03.2014
Сообщений: 10

Сообщение от Alex351960 Посмотреть сообщение
Статичен. Сделал как вы сказали, все равно выводит html код
) для начала в php добавляем
header('Content-Type: application/json; charset=utf-8');
 и делаем echo json_encode($array('status'=>'success'));

а в js

success: function(txt){
if(txt.status == 'success') {
alert(txt); // При успешном
}



}
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Смишных картинок тред megaupload Оффтопик 3447 03.07.2023 09:47
Верный ответ Vasy Общие вопросы Javascript 3 24.03.2013 23:05
ответ сервера не сохраняется в глобальную переменную cyberpunk AJAX и COMET 2 06.03.2012 11:57
Ответ сервера в плугине ajaxForm отдается неправильно. IgorOk jQuery 11 13.12.2009 04:35
Ajax - JSON - не распознает пришедший ответ Майский Кот jQuery 1 14.05.2009 00:40